package cn.bisoft.java.bean.entity;

import java.io.Serializable;



/**
 * This is an object that contains data related to the AnteFrontDrawProviderInfo table.
 * Do not modify this class because it will be overwritten if the configuration file
 * related to this class is modified.
 *
 * @hibernate.class
 *  table="AnteFrontDrawProviderInfo"
 */

public abstract class BaseAnteFrontDrawProviderInfo  implements Serializable {
	private static final long serialVersionUID = 1L;
	public static String REF = "AnteFrontDrawProviderInfo";
	public static String PROP_IS_DEFAULT = "IsDefault";
	public static String PROP_PITCH_ID = "PitchId";
	public static String PROP_FEE_TYPE = "FeeType";
	public static String PROP_PROVIDER_TYPE = "ProviderType";
	public static String PROP_PAYDATE = "Paydate";
	public static String PROP_DAY_SEQ = "DaySeq";
	public static String PROP_PROVIDER_NAME = "ProviderName";
	public static String PROP_MERCHANT_ID = "MerchantId";
	public static String PROP_PROVIDER_ID = "ProviderId";
	public static String PROP_MAX_MONEY = "MaxMoney";


	// constructors
	public BaseAnteFrontDrawProviderInfo () {
		initialize();
	}

	/**
	 * Constructor for primary key
	 */
	public BaseAnteFrontDrawProviderInfo (java.lang.String providerId) {
		this.setProviderId(providerId);
		initialize();
	}

	/**
	 * Constructor for required fields
	 */
	public BaseAnteFrontDrawProviderInfo (
		java.lang.String providerId,
		java.lang.String providerName,
		java.lang.String merchantId,
		java.lang.String paydate,
		java.lang.Integer pitchId,
		java.lang.Integer daySeq,
		java.lang.Integer isDefault,
		java.lang.Integer maxMoney,
		java.lang.Integer providerType) {

		this.setProviderId(providerId);
		this.setProviderName(providerName);
		this.setMerchantId(merchantId);
		this.setPaydate(paydate);
		this.setPitchId(pitchId);
		this.setDaySeq(daySeq);
		this.setIsDefault(isDefault);
		this.setMaxMoney(maxMoney);
		this.setProviderType(providerType);
		initialize();
	}

	protected void initialize () {}



	private int hashCode = Integer.MIN_VALUE;

	// primary key
	private java.lang.String providerId;

	// fields
	private java.lang.String providerName;
	private java.lang.String merchantId;
	private java.lang.String paydate;
	private java.lang.Integer pitchId;
	private java.lang.Integer daySeq;
	private java.lang.Integer isDefault;
	private java.lang.Integer maxMoney;
	private java.lang.Integer providerType;
	private java.lang.Integer feeType;
	private java.lang.Integer drawState;



	public java.lang.Integer getDrawState()
	{
		return drawState;
	}

	public void setDrawState(java.lang.Integer drawState)
	{
		this.drawState = drawState;
	}

	/**
	 * Return the unique identifier of this class
     * @hibernate.id
     *  generator-class="sequence"
     *  column="ProviderId"
     */
	public java.lang.String getProviderId () {
		return providerId;
	}

	/**
	 * Set the unique identifier of this class
	 * @param providerId the new ID
	 */
	public void setProviderId (java.lang.String providerId) {
		this.providerId = providerId;
		this.hashCode = Integer.MIN_VALUE;
	}




	/**
	 * Return the value associated with the column: ProviderName
	 */
	public java.lang.String getProviderName () {
		return providerName;
	}

	/**
	 * Set the value related to the column: ProviderName
	 * @param providerName the ProviderName value
	 */
	public void setProviderName (java.lang.String providerName) {
		this.providerName = providerName;
	}



	/**
	 * Return the value associated with the column: MerchantId
	 */
	public java.lang.String getMerchantId () {
		return merchantId;
	}

	/**
	 * Set the value related to the column: MerchantId
	 * @param merchantId the MerchantId value
	 */
	public void setMerchantId (java.lang.String merchantId) {
		this.merchantId = merchantId;
	}



	/**
	 * Return the value associated with the column: Paydate
	 */
	public java.lang.String getPaydate () {
		return paydate;
	}

	/**
	 * Set the value related to the column: Paydate
	 * @param paydate the Paydate value
	 */
	public void setPaydate (java.lang.String paydate) {
		this.paydate = paydate;
	}



	/**
	 * Return the value associated with the column: PitchId
	 */
	public java.lang.Integer getPitchId () {
		return pitchId;
	}

	/**
	 * Set the value related to the column: PitchId
	 * @param pitchId the PitchId value
	 */
	public void setPitchId (java.lang.Integer pitchId) {
		this.pitchId = pitchId;
	}



	/**
	 * Return the value associated with the column: DaySeq
	 */
	public java.lang.Integer getDaySeq () {
		return daySeq;
	}

	/**
	 * Set the value related to the column: DaySeq
	 * @param daySeq the DaySeq value
	 */
	public void setDaySeq (java.lang.Integer daySeq) {
		this.daySeq = daySeq;
	}



	/**
	 * Return the value associated with the column: IsDefault
	 */
	public java.lang.Integer getIsDefault () {
		return isDefault;
	}

	/**
	 * Set the value related to the column: IsDefault
	 * @param isDefault the IsDefault value
	 */
	public void setIsDefault (java.lang.Integer isDefault) {
		this.isDefault = isDefault;
	}



	/**
	 * Return the value associated with the column: MaxMoney
	 */
	public java.lang.Integer getMaxMoney () {
		return maxMoney;
	}

	/**
	 * Set the value related to the column: MaxMoney
	 * @param maxMoney the MaxMoney value
	 */
	public void setMaxMoney (java.lang.Integer maxMoney) {
		this.maxMoney = maxMoney;
	}



	/**
	 * Return the value associated with the column: ProviderType
	 */
	public java.lang.Integer getProviderType () {
		return providerType;
	}

	/**
	 * Set the value related to the column: ProviderType
	 * @param providerType the ProviderType value
	 */
	public void setProviderType (java.lang.Integer providerType) {
		this.providerType = providerType;
	}



	/**
	 * Return the value associated with the column: FeeType
	 */
	public java.lang.Integer getFeeType () {
		return feeType;
	}

	/**
	 * Set the value related to the column: FeeType
	 * @param feeType the FeeType value
	 */
	public void setFeeType (java.lang.Integer feeType) {
		this.feeType = feeType;
	}




	public boolean equals (Object obj) {
		if (null == obj) return false;
		if (!(obj instanceof AnteFrontDrawProviderInfo)) return false;
		else {
			AnteFrontDrawProviderInfo anteFrontDrawProviderInfo = (AnteFrontDrawProviderInfo) obj;
			if (null == this.getProviderId() || null == anteFrontDrawProviderInfo.getProviderId()) return false;
			else return (this.getProviderId().equals(anteFrontDrawProviderInfo.getProviderId()));
		}
	}

	public int hashCode () {
		if (Integer.MIN_VALUE == this.hashCode) {
			if (null == this.getProviderId()) return super.hashCode();
			else {
				String hashStr = this.getClass().getName() + ":" + this.getProviderId().hashCode();
				this.hashCode = hashStr.hashCode();
			}
		}
		return this.hashCode;
	}


	public String toString () {
		return super.toString();
	}


}